#ifndef OnlineTrainer3OGSibling_H
#define OnlineTrainer3OGSibling_H
#include "OnlineTrainer2O.h"

class OnlineTrainer3OGSibling : public OnlineTrainer2O{
public:
	OnlineTrainer3OGSibling(int maxLength, DependencyPipe *pipe, ParserOptions *options, DependencyDecoder *decoder, Parameters *params);
	virtual ~OnlineTrainer3OGSibling();
	virtual void developOnline(std::vector<int> *instanceLengths, std::string *train_forest, int iter, Parameters *params_bk);
	virtual void trainOnline(std::vector<int> *instanceLengths, std::string *train_forest, int iter);
	virtual void developWriteLog(Parameters *params_bk, string *devfile);
	virtual void outputParses(DependencyInstance *instance);

protected:
	vector<vector<vector<vector<double> > > > probs_gtrips;
	vector<vector<vector<vector<double> > > > probs_gsibs;
	vector<vector<vector<double> > > probs_coords;
};
#endif